/*
 * @(#)Command.java 	1.0 2010/07/23
 *
 * Copyright 2010 guyven and David Croft. All rights reserved.
 */
package com.iawg.attrition.engine.messaging;

/**
 * The prefix enum for a {@link com.iawg.attrition.engine.messaging.Message}.
 * Acts as a message header so that the engine will know how to respond to the given message body.
 * 
 * @author guyven
 * @version 1.0 2010/07/23
 */
public enum BasicMessagePrefix implements MessagePrefix<BasicMessage> {
	/** A user given command for an {@link engine.units.Actor}. */
	COMMAND,
	/** Load an engine based resource. */
	RESOURCE_LOAD,
	/** An option that can be set by the user. */
	SETTING,
	/** Release an engine based resource. */
	RESOURCE_RELEASE;

	@Override
	public BasicMessage makeMessage(Object body) {
		return new BasicMessage(this, body);
	}
}
